.\"	$OpenBSD: sgivol.8,v 1.3 2005/08/01 18:00:30 kettenis Exp $
.\"
.\" Copyright (c) 2005 Theo de Raadt
.\" All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\"    notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\"    notice, this list of conditions and the following disclaimer in the
.\"    documentation and/or other materials provided with the distribution.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\"
.Dd April 27, 2005
.Dt SGIVOL 8 sgi
.Os
.Sh NAME
.Nm sgivol
.Nd installs a volume header on disk
.Sh SYNOPSIS
.Nm sgivol
.Op Fl fq
.Op Fl d Ar vhfilename
.Ar disk
.Nm sgivol
.Op Fl fiq
.Op Fl h Ar vhsize
.Ar disk
.Nm sgivol
.Op Fl fq
.Op Fl l Ar vhfilename1 Ar vhfilename2
.Ar disk
.Nm sgivol
.Op Fl fq
.Op Fl r Ar vhfilename Ar diskfilename
.Ar disk
.Nm sgivol
.Op Fl fq
.Op Fl w Ar vhfilename Ar diskfilename
.Ar disk
.Sh DESCRIPTION
.Nm
is used to initialize, and then add or remove programs from the
SGI disk volume header.
.Pp
The SGI volume header is a disklabel-like structure located at the
start of a disk.
It is typically 3135 (512-byte) blocks in size, and can store a
variety of files inside it, typically boot programs.
.Pp
The options are as follows:
.Bl -tag -width flag_opt
.It Fl d Ar vhfilename
Delete the file
.Ar vhfilename
from the filesystem storage space in the volume header.
.It Fl f
Force.
Do not ask yes/no questions.
.It Fl h Ar vhsize
Choose an alternate volume header size, in (512-byte) disk blocks.
The default is 3135 blocks.
.It Fl i
Initialize a volume header on the supplied device.
.It Fl l Ar vhfilename1 Ar vhfilename2
Link the file
.Ar vhfilename1
to the file
.Ar vhfilename2
within the filesystem storage space in the volume header.
.It Fl q
Be quiet about various diagnostic issues.
.It Fl r Ar vhfilename Ar diskfilename
Locate the file
.Ar diskfilename
in the storage space of the volume header, and copy it to the
standard file
.Ar vhfilename .
.It Fl w Ar vhfilename Ar diskfilename
Copy the standard file
.Ar vhfilename
to the filesystem storage space in the volume header, placing
it there with the name
.Ar diskfilename .
.It Ar disk
The name of the disk containing the partition in which the second-stage
boot program resides and the first-stage boot program is to be installed.
This can either be specified in short form (e.g.,
.Sq sd0
or as the explicit device node, such as
.Pa /dev/rsd0c ) .
.Pp
Note that you must be in single-user mode or have your kernel in
insecure mode (see the
.Xr sysctl 8
.Va kern.securelevel
variable or
.Pa /etc/rc.securelevel )
to enable access to the raw partition of a mounted disk.
.El
.Pp
If no special flags are supplied,
.Nm
will display the current volume header information.
.Sh EXAMPLES
The typical use is
.Bd -literal -offset indent
# /usr/mdec/sgivol -f -i sd0
# /usr/mdec/sgivol -f -w boot /usr/mdec/boot sd0
.Ed
.Sh SEE ALSO
.Xr disklabel 8 ,
.Xr init 8
